#!/usr/bin/env python
#coding=utf-8

db = {}

def newuser():
	prompt = 'login desired: '
	while True:
		name = raw_input(prompt)
		if db.has_key(name):
			prompt = 'name taken, try another:' 
			continue
		else:
			break
	pwd = raw_input('passwd: ')
	db[name] = pwd

def olduser():
	name = raw_input('login: ')
	pwd = raw_input('passwd: ')
	passwd = db.get(name)
	if passwd == pwd:
		print 'welcome back', name
	else:
		print 'login incorrect'

CMDs = { 'n':newuser, 'e':olduser} # 使用字典来访问对应的函数感觉很简洁

def showmenu():
	prompt = """
(N)ew User Login
(E)xisting User Login
(Q)uit
Enter choice: """

	done = False
	while not done:
		chosen = False
		while not chosen:
			try:
				choice = raw_input(prompt).strip()[0].lower()
			except (EOFError, KeyboardInterrupt) as e:
				choice = 'q'
			print '\nYou picked:[%s]' %choice
			if choice not in 'neq':
				print 'invalid option, try again'
			else:
				chosen = True
		if choice == 'q':
			done = True
		else:
			CMDs[choice]()

if __name__ == '__main__':
	showmenu()